﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Entity
{
   public class SMDBContext:DbContext
    {
        
        public SMDBContext(DbContextOptions<SMDBContext>opts):base(opts)
        {
           
        }
   
        /// <summary>
        /// 账户
        /// </summary>
        public DbSet<Account> Account { get; set; }

        /// <summary>
        /// 用户信息
        /// </summary>
        public DbSet<User> User { get; set; }

        /// <summary>
        /// 报名表
        /// </summary>
        public DbSet<Signup> Signup { get; set; }

        //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        //{
        //    optionsBuilder.UseMySql(_ConnectionString, new MySqlServerVersion(new Version(9, 2, 0)));
        //}
        //protected override void OnModelCreating(ModelBuilder modelBuilder)
        //{
        //    modelBuilder.UseCollation("utf8mb4_german2_ci").HasCharSet("utf8mb4");
        //}


    }
    public class SMDBContextFactory:IDesignTimeDbContextFactory<SMDBContext>
    {
        public SMDBContext CreateDbContext(string[] args)
        {
            var optionBuilder = new DbContextOptionsBuilder<SMDBContext>();
            optionBuilder.UseMySql(
               "server=localhost;userid=root;password=123456;database=AIYDB;",
               new MySqlServerVersion(new Version(8, 0, 41))
                );
            return new SMDBContext(optionBuilder.Options);
        }
    }
}
